/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package UserLogin;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Alex
 */
public class UserLoginServlet extends HttpServlet {

    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /* TODO output your page here
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet UserLoginServlet</title>");  
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet UserLoginServlet at " + request.getContextPath () + "</h1>");
            out.println("</body>");
            out.println("</html>");
             */
            
            HttpSession session = request.getSession(false);
            
            String username = request.getParameter("username");
            String password = request.getParameter("password");
            int x=1;
                
            
            
            Login  newLogin = new Login();

              newLogin.setUsername(request.getParameter("username"));
              newLogin.setPassword(request.getParameter("password"));
              
              boolean result = new UserLoginManager().LoginUser(username,password);
              
              
              String id = new UserLoginManager().getInfo(username, x);
              String firstname = new UserLoginManager().getInfo(username, 4);
              String middlename = new UserLoginManager().getInfo(username,5);
              String lastname = new UserLoginManager().getInfo(username, 6);
              String address = new UserLoginManager().getInfo(username, 7);
              String city = new UserLoginManager().getInfo(username, 8);
              String postal = new UserLoginManager().getInfo(username, 9);
              String email = new UserLoginManager().getInfo(username, 10);
              String creditname = new UserLoginManager().getInfo(username, x+10);
              String creditnumber = new UserLoginManager().getInfo(username, x+11);
              String expdate = new UserLoginManager().getInfo(username, x+12);
              String credittype = new UserLoginManager().getInfo(username, x+13);
              String usertype = new UserLoginManager().getInfo(username, x+14);
              
              
              
                session.setAttribute("user", username);
                session.setAttribute("password", password);
                session.setAttribute("id", id);
                session.setAttribute("firstname", firstname);
                  session.setAttribute("middlename", middlename);
                session.setAttribute("lastname",lastname);             
                session.setAttribute("address",address);
                session.setAttribute("city", city);
                session.setAttribute("email",email);
                session.setAttribute("postal", postal);
                session.setAttribute("creditname", creditname);
                session.setAttribute("creditnumber", creditnumber);
                session.setAttribute("expdate", expdate);
                session.setAttribute("credittype", credittype);
                session.setAttribute("usertype", usertype);         
                
              if( result == true && session != null ){
                  new UserLoginManager().Log(Integer.parseInt(id));
                 
             response.sendRedirect("customer.jsp");
              }
              else
                  response.sendRedirect("index.jsp");
              
        } finally {            
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
